package com.hank.holder;

import com.hank.dto.UserDTO;

/**
 * @author gaoZhiHao
 * @date 2023/5/5 11:30
 */
public class UserContextHolder {

    /**
     * 定义一个 ThreadLocal 变量，用于存储当前线程中的 User 对象
     */
    private static final ThreadLocal<UserDTO> USER_HOLDER = new ThreadLocal<>();

    // 设置当前线程中的 User 对象
    public static void setUser(UserDTO user) {
        USER_HOLDER.set(user);
    }

    // 获取当前线程中的 User 对象
    public static UserDTO getUser() {
        return USER_HOLDER.get();
    }

    // 清空 ThreadLocal 中的数据
    public static void clear() {
        USER_HOLDER.remove();
    }

}
